home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / graphics / vlapak1.zip / TESTVID.ZIP / TIMERSUB.INC < prev    next >
Text File  |  1993-10-15  |  1KB  |  77 lines

  1. ;==-
  2.  
  3. GLOBAL  PrintDouble:NEAR, StartTimer:NEAR, STopTimer:NEAR, PrintTimer:NEAR
  4.  
  5. ;==-
  6.  
  7. TimerS  dd  0
  8. TimerE  dd  0
  9. TimeDiff dd 0
  10. TextNum db  "0000000000"
  11. TextNumEnd db " ","$"
  12.  
  13. PROC PrintDouble NEAR
  14.     PUSHAD
  15.         mov     ebx,10
  16.         mov     si,SEG TextNum
  17.         mov     es,si
  18.         mov     si,offset textnumend-1
  19.         mov     cx,10
  20. DLBig:
  21.         sub     edx,edx
  22.         div     ebx
  23.         add     dl,'0'
  24.         mov     [es:si],dl
  25.         dec     si
  26.         loop    DLBig
  27.  
  28.         mov     dx,offset TextNum
  29.         mov     ah,9
  30.         int     21h
  31.     POPAD
  32.         ret
  33. ENDP PrintDouble
  34.  
  35. PROC StartTimer NEAR
  36.     push    ax
  37.     push    ecx
  38.     push    dx
  39.     mov     ah,0
  40.     int     1ah
  41.     ror     ecx,16
  42.     mov     cx,dx
  43.     mov     [TimerS],ecx
  44.     pop     dx
  45.     pop     ecx
  46.     pop     ax
  47.     ret
  48. ENDP StartTimer
  49.  
  50. PROC StopTimer NEAR
  51.     push    ax
  52.     push    ecx
  53.     push    dx
  54.     mov     ah,0
  55.     int     1ah
  56.     ror     ecx,16
  57.     mov     cx,dx
  58.     mov     [TimerE],ecx
  59.     pop     dx
  60.     pop     ecx
  61.     pop     ax
  62.     ret
  63. ENDP StopTimer
  64.  
  65. PROC PrintTimer NEAR
  66.     pushad
  67.     mov     eax,[TimerS]
  68.     call    PrintDouble
  69.     mov     eax,[TimerE]
  70.     call    PrintDouble
  71.     sub     eax,[TimerS]
  72.     mov     [TimeDiff],eax
  73.     call    PrintDouble
  74.     popad
  75.     ret
  76. ENDP PrintTimer
  77.